package com.hiultra.archive.mapper;

import java.util.List;
import com.hiultra.archive.domain.ArcArchive;
import com.hiultra.archive.domain.ArcBox;

/**
 * 档案Mapper接口
 * 
 * @author ls
 * @date 2022-07-30
 */
public interface ArcArchiveMapper 
{
    /**
     * 查询档案
     * 
     * @param archiveId 档案主键
     * @return 档案
     */
    public ArcArchive selectArcArchiveByArchiveId(Long archiveId);

    /**
     * 查询档案列表
     * 
     * @param arcArchive 档案
     * @return 档案集合
     */
    public List<ArcArchive> selectArcArchiveList(ArcArchive arcArchive);

    /**
     * 新增档案
     * 
     * @param arcArchive 档案
     * @return 结果
     */
    public int insertArcArchive(ArcArchive arcArchive);

    /**
     * 修改档案
     * 
     * @param arcArchive 档案
     * @return 结果
     */
    public int updateArcArchive(ArcArchive arcArchive);

    /**
     * 删除档案
     * 
     * @param archiveId 档案主键
     * @return 结果
     */
    public int deleteArcArchiveByArchiveId(Long archiveId);

    /**
     * 批量删除档案
     * 
     * @param archiveIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArcArchiveByArchiveIds(Long[] archiveIds);

    /**
     * 校验档案档号是否唯一
     *
     * @param arcArchive 档案
     * @return 结果
     */
    public ArcArchive checkArchiveCodeUnique(ArcArchive arcArchive);

    /**
     * 查询当前最大件号
     *
     * @return 结果
     */
    public long selectMaxArchiveCode();

    /**
     * 查询档案根据档号
     *
     * @param archiveCode
     * @return 档案对象
     */
    public ArcArchive selectArcArchiveByArchiveCode(String archiveCode);

    /**
     *  查询档案根据档案名字
     * @param archName
     * @return
     */
    public ArcArchive selectArcArchiveByArchiveName(String archName);
}
